package com.taxi.driver.module.order.popup;

import android.content.Context;

import com.amap.api.maps.model.LatLng;
import com.taxi.driver.common.i.IBasePresenter;
import com.taxi.driver.common.i.IBaseView;
import com.taxi.driver.module.vo.OrderVO;

/**
 * 功能描述：
 */
public interface OrderPopupContract {

    interface View extends IBaseView<Presenter> {

        // 设置订单信息
        void setOrderInfo(OrderVO vo, LatLng latLng);

        // 显示"地址信息"
        void setSlidingExpanded();

        // 显示"地图信息"
        void setSlidingCollapsed();

        // 抢单成功
        void grabSuccess(String orderUuid);

        // 抢单失败（抢单失败3秒缓冲后，自动关闭界面）
        void grabFail(int time, String title, String reason);

        // 订单失效（订单失效3秒缓冲后，自动关闭界面）
        void orderInvalid(int time, String reason);

        Context getContext();

        // 显示缓冲（前3秒不能抢单、后15秒可抢）
        void showBuffering(int time, int bufferStatus);

        // 关闭界面
        void closeActivity();

        void hideIgnore();

        void setAssign();
    }

    interface Presenter extends IBasePresenter {

        // 设置当前订单编号
        void setOrderUuid(String orderUuid);

        // 获得订单编号
        String getOrderUuid();

        void orderDetail();

        // 抢单
        void grabOrder();

        // 司机类型
        int driverType();

        // 忽略订单
        void ignoringOrder();

        void onDestory();
    }
}
